package com.huangfu.learning.javabase.java.enumeration;

/**
 * Created with IntelliJ IDEA.
 * Author: huangfu.daohui
 * Date: 2018/7/9
 * Time: 20:14
 * Version: 1.0
 * Description:枚举中添加抽象方法，这个抽象方法中，每个枚举属性都要实现，如果在外层实现，默认为所有属性都实现
 * 用法，可以将vo实体字段定义成枚举，然后就可以使用这些方法，不用switch  case了，代码整洁
 **/
public enum EnumAbstract {
    RED {
        @Override
        public String getColorInfo() {
            return "getColorInfo:红色";
        }
    }, GREED {
        @Override
        public String getColorInfo() {
            return "getColorInfo:绿色";
        }
    }, YELLOW {
        @Override
        public String getColorInfo() {
            return "getColorInfo:黄色";
        }
    };

    public abstract String getColorInfo();

    public String commonMethod() {
        return "commonMethod：这是一个常规方法！！";
    }

    /**
     * 测试
     *
     * @param args
     */
    public static void main(String[] args) {
        System.out.println(EnumAbstract.RED.getColorInfo()); //getColorInfo:红色
        System.out.println(EnumAbstract.RED.commonMethod()); //commonMethod：这是一个常规方法！！

    }
}
